﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.Text;
using System.Threading.Tasks;

namespace DHQGHN.DAL.Models.DanhMuc
{
    [DataContract]
    public class CommonList
    {
        #region Contructors
        public CommonList()
        {
            this.TABLE_NAME = Common.NullValues.Default_String;
            this.ID = Common.NullValues.Default_String;
            this.CODE = Common.NullValues.Default_String;
            this.NAME = Common.NullValues.Default_String;
            this.DESCRIPTIONS = Common.NullValues.Default_String;
            this.DELETED = Common.NullValues.Default_Int;
            this.START_DATE = Common.NullValues.Default_Int;
            this.END_DATE = Common.NullValues.Default_Int;
            this.LAST_UPDATED = Common.NullValues.Default_DateTime;
            this.RECODE_COUNT = Common.NullValues.Default_Int;
        }
        #endregion

        #region Properties
        [DataMember]
        public string TABLE_NAME { get; set; }
        [DataMember]
        public string ID { get; set; }
        [DataMember]
        public string CODE { get; set; }
        [DataMember]
        public string NAME { get; set; }
        [DataMember]
        public string DESCRIPTIONS { get; set; }
        [DataMember]
        public int DELETED { get; set; }
        [DataMember]
        public int START_DATE { get; set; }
        [DataMember]
        public int END_DATE { get; set; }
        [DataMember]
        public DateTime LAST_UPDATED { get; set; }
        [DataMember]
        public int RECODE_COUNT { get; set; }

        #endregion

        #region Field list from Model
        public const string Field_TABLE_NAME = "TABLE_NAME";
        public const string Field_ID = "ID";
        public const string Field_CODE = "CODE";
        public const string Field_NAME = "NAME";
        public const string Field_DESCRIPTIONS = "DESCRIPTIONS";
        public const string Field_DELETED = "DELETED";
        public const string Field_START_DATE = "START_DATE";
        public const string Field_END_DATE = "END_DATE";
        public const string Field_LAST_UPDATED = "LAST_UPDATED";
        public const string Field_RECODE_COUNT = "RECODE_COUNT";

        #endregion
    }

    [DataContract]
    public class DownloadList
    {
        #region Contructors
        public DownloadList()
        {
            this.TABLE_NAME = Common.NullValues.Default_String;
            this.ID = Common.NullValues.Default_String;
            this.CODE = Common.NullValues.Default_String;
            this.NAME = Common.NullValues.Default_String;
            this.DESCRIPTIONS = Common.NullValues.Default_String;
            this.DELETED = Common.NullValues.Default_Int;
            this.START_DATE = Common.NullValues.Default_Int;
            this.END_DATE = Common.NullValues.Default_Int;
            this.LAST_UPDATED = Common.NullValues.Default_DateTime;
            this.RECODE_COUNT = Common.NullValues.Default_Int;

            this.P_ID = Common.NullValues.Default_String;
            this.P_CODE = Common.NullValues.Default_String;
            this.ADMINIS_TYPE = Common.NullValues.Default_String;
            this.LEVELS = Common.NullValues.Default_Int;
            this.PROVINCE_CODE = Common.NullValues.Default_String;
            this.DISTRICT_CODE = Common.NullValues.Default_String;
            this.COMMUNE_CODE = Common.NullValues.Default_String;
            this.PROVINCE_NAME = Common.NullValues.Default_String;
            this.DISTRICT_NAME = Common.NullValues.Default_String;
            this.COMMUNE_NAME = Common.NullValues.Default_String;
            //this.ADMINIS_UNIT_ID = Common.NullValues.Default_String;
            //this.CENTER_POINT = Common.NullValues.Default_String;
            //this.AREA_ID = Common.NullValues.Default_String;
            //this.ENUMERATOR_ID = Common.NullValues.Default_String;

        }
        #endregion

        #region Properties
        [DataMember]
        public string TABLE_NAME { get; set; }
        [DataMember]
        public string ID { get; set; }
        [DataMember]
        public string CODE { get; set; }
        [DataMember]
        public string NAME { get; set; }
        [DataMember]
        public string DESCRIPTIONS { get; set; }
        [DataMember]
        public int DELETED { get; set; }
        [DataMember]
        public int START_DATE { get; set; }
        [DataMember]
        public int END_DATE { get; set; }
        [DataMember]
        public DateTime LAST_UPDATED { get; set; }
        [DataMember]
        public int RECODE_COUNT { get; set; }


        //ADMINISTRATIVE_UNIT
        [DataMember]
        public string P_ID { get; set; }
        [DataMember]
        public string P_CODE { get; set; }
        [DataMember]
        public string ADMINIS_TYPE { get; set; }
        public int LEVELS { get; set; }
        [DataMember]
        public string PROVINCE_CODE { get; set; }
        [DataMember]
        public string DISTRICT_CODE { get; set; }
        [DataMember]
        public string COMMUNE_CODE { get; set; }
        [DataMember]
        public string PROVINCE_NAME { get; set; }
        [DataMember]
        public string DISTRICT_NAME { get; set; }
        [DataMember]
        public string COMMUNE_NAME { get; set; }

        ////AREA
        //[DataMember]
        //public string ADMINIS_UNIT_ID { get; set; }
        //[DataMember]
        //public string CENTER_POINT { get; set; }

        ////AREA_ENUM
        //[DataMember]
        //public string AREA_ID { get; set; }
        //[DataMember]
        //public string ENUMERATOR_ID { get; set; }

        
        
        #endregion

        #region Field list from Model
        public const string Field_TABLE_NAME = "TABLE_NAME";
        public const string Field_ID = "ID";
        public const string Field_CODE = "CODE";
        public const string Field_NAME = "NAME";
        public const string Field_DESCRIPTIONS = "DESCRIPTIONS";
        public const string Field_DELETED = "DELETED";
        public const string Field_START_DATE = "START_DATE";
        public const string Field_END_DATE = "END_DATE";
        public const string Field_LAST_UPDATED = "LAST_UPDATED";
        public const string Field_RECODE_COUNT = "RECODE_COUNT";

        public const string Field_P_ID = "P_ID";
        public const string Field_P_CODE = "P_CODE";
        public const string Field_ADMINIS_TYPE = "ADMINIS_TYPE";
        public const string Field_LEVELS = "LEVELS";
        public const string Field_PROVINCE_CODE = "PROVINCE_CODE";
        public const string Field_DISTRICT_CODE = "DISTRICT_CODE";
        public const string Field_COMMUNE_CODE = "COMMUNE_CODE";
        public const string Field_PROVINCE_NAME = "PROVINCE_NAME";
        public const string Field_DISTRICT_NAME = "DISTRICT_NAME";
        public const string Field_COMMUNE_NAME = "COMMUNE_NAME";

        //public const string Field_ADMINIS_UNIT_ID = "ADMINIS_UNIT_ID";
        //public const string Field_CENTER_POINT = "CENTER_POINT";
        //public const string Field_AREA_ID = "AREA_ID";
        //public const string Field_ENUMERATOR_ID = "ENUMERATOR_ID";


        #endregion
    }
}
